home *** CD-ROM | disk | FTP | other *** search
-
- #include <intuition/intuition.h>
- #include <devices/inputevent.h>
-
- extern char *WindowModeNames[];
- extern char *ClickModeNames[];
- extern char *ClickRollModeNames[];
- extern char *DoubleClickModeNames[];
-
- enum WindowModes {OverWindow,ActiveWindow};
-
- enum ClickModes {ClickIgnore,ClickShift,ClickShiftClick,
- ClickToggleLMB,ClickMoveToScroll,
- ClickMoveScrollToggle,ClickCycleScreens};
-
- enum ClickRollModes {ClickRollIgnore,ClickRollDepthArrange,ClickRollHorizontalScroll};
-
- enum DoubleClickModes {DClickIgnore,DClickCycleScreens,DClickSwapAxis};
-
-
- struct ButtonData
- {
- enum ClickModes ClickMode;
- enum ClickRollModes ClickRollMode;
- enum DoubleClickModes DoubleClickMode;
- char **ClickModeNames;
- char **ClickRollModeNames;
- char **DoubleClickModeNames;
- BOOL State;
- long Count,Secs,Microsecs; /* Used for double-click detection */
- BOOL LMBToggle,ScrollToggle,AxisToggle;
- };
-
-
- struct WheelMouseContext
- {
- void (*Dispose)(struct WheelMouseContext *wm);
- BOOL (*Handle)(struct WheelMouseContext *wm,unsigned long signals);
- int ScrollX,ScrollY;
- int FakeX,FakeY;
-
- enum WindowModes WindowMode;
- char **WindowModeNames;
- struct ButtonData MidButton,FourthButton;
- int MouseSpeedX,MouseSpeedY;
- int ScrollSpeedX,ScrollSpeedY;
- int FakeScrollSpeed;
- BOOL ClickToFront,ClickToBack;
- BOOL NudgeProp,ForgeRawKey,RawKeyPage;
- int PageThreshold;
-
- struct Task *MainTask;
- unsigned long Signals;
- int SigBit;
- struct MsgPort *ReplyPort,*IOPort;
- struct IOStdReq *IOReq;
-
- struct Window *Window;
- struct Gadget *Gadget;
- struct ExtIntuiMessage Msg1;
- unsigned long pad11,pad12,pad13,pad14; /* struct might be extended further! */
- struct ExtIntuiMessage Msg2;
- unsigned long pad21,pad22,pad23,pad24;
- struct InputEvent Event;
- };
-
- struct WheelMouseContext *WheelMouse_Create();
-
-